---
title: clsProviderServiceList
summary: API reference for clsProviderServiceList.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-21
library: SAIF.Business.View.Provider
reference_type: embedded
---

# clsProviderServiceList

`clsProviderServiceList` is a self-loading `List(Of clsProviderServiceInfo)` that queries `PROVIDER_SERVICE` joined to `PROVIDER_SERVICE_CODE` directly through `SqlHelper.ResultSetQuery` in its constructor. It backs `clsProviderLocation.Services` and, like the other direct-query types in this library, bypasses the portal/criteria retrieval pattern.

## Purpose
- Loads all service code assignments for a specific provider location, along with each code's description, in one direct SQL execution.
- Supplies the service-authorization data that downstream legal/claim consumers check when determining whether a location can provide a given service.*

## Context
- Namespace: `SAIF.Business.View.Provider`
- Assembly/package: `SAIF.Business.View.Provider` (embedded/project-compiled); also distributed as the NuGet package `SAIF.BOF.Business.View.Provider`.

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `.ctor` | `Sub New(dpi As IDataPortalInfo, providerLocationID As Decimal)` | Queries `PROVIDER_SERVICE` joined to `PROVIDER_SERVICE_CODE` bound on `:ProviderLocationID` (OP-12, SQL-PSVC-01) and populates the list with one `clsProviderServiceInfo` per row. |
| `Item` | `Default Property Item(index As Integer) As clsProviderServiceInfo` (from `List(Of clsProviderServiceInfo)`) | Returns the service assignment at the given position in the loaded list. |
| `Count` | `ReadOnly Property Count As Integer` (from `List(Of clsProviderServiceInfo)`) | Number of service assignments loaded for the location. |
| `GetEnumerator` | `Function GetEnumerator() As List(Of clsProviderServiceInfo).Enumerator` (from `List(Of clsProviderServiceInfo)`) | Enumerates the loaded service assignments in query result order. |

## Behavioral notes
- OP-12: the join to `PROVIDER_SERVICE_CODE` means each returned row already carries a resolved service description, avoiding a separate lookup query per service code.

## Constraints and usage notes
- Always obtained via `clsProviderLocation.Services`; direct construction requires a valid `IDataPortalInfo` and location ID.
- No create/update/delete surface — load-only list.

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- SAIF.Business.View.Provider/clsProviderServices.vb
